/*
 *  Scripts incluídos antes deste:
 *      - API do Google Maps;
 *      - jquery.js;
 *      - jquery.maskedinput.js
 *      - bootstrap.js
 *      - googleMaps.js
 *      - login.js
 *      - consulta.js
 */

/* =========================================================================
 * Função principal que executa apenas quando o documento estiver
 * completamente carregado.
 * ========================================================================= */
$(document).ready(function() {
    // Evento de clique no botão "Marcar Ponto".
    $('#markButton').click(function(e) {
        placeMarkerByAddress();
    });

    // Evento de clique no botão "Pesquisar".
    $('#searchButton').click(function(e) {
        if (typeof _userMarker !== 'undefined') {
            executeQuery(false);
        } else {
            alert('Primeiro selecione um ponto de partida!');
        }
    });

    // Evento de clique nos links de tipos e especialidades/estilos
    // de estabelecimentos.
    $("#opcoesTipos").hide();
    $("#opcoesEstilos").hide();
    $("#tiposEstabelecimentos").click(toggleTypes);
    $("#estilosEstabelecimentos").click(toggleStyles);

    // Define as máscaras nos campos de horário.
    $("#horario1").mask("99:99");
    $("#horario2").mask("99:99");

    // Se existir um objeto de preferências de usuário pré-definido,
    // manda preencher automaticamente o formulário de pesquisa.
    if (typeof _prefsUsuario !== 'undefined')
        fillQueryForm();
});

/* =========================================================================
 * Função principal que executa apenas quando o documento estiver
 * completamente carregado.
 * ========================================================================= */
function toggleTypes() {
    $("#opcoesTipos").toggle();
}

/* =========================================================================
 * Função que esconde ou mostra as especialidades/estilos de
 * estabelecimentos.
 * ========================================================================= */
function toggleStyles() {
    $("#opcoesEstilos").toggle();
}

/* =========================================================================
 * Função que preenche automaticamente o formulário de pesquisa com as
 * informações padrão cadastradas pelo usuário.
 * ========================================================================= */
function fillQueryForm() {
    $('#distancia').val(_prefsUsuario.distanciaMax);
    $('#preco').val(_prefsUsuario.precoMax);
    $('#opcoesTipos').val(_prefsUsuario.tipos);
    $('#opcoesEstilos').val(_prefsUsuario.estilos);
}
